Communication systems allow users to communicate with each other over a network. The network may be, for example, the Internet or public switched telephone network (PSTN). Audio signals can be transmitted between nodes of the network, to thereby allow users to transmit and receive audio data (such as speech data) to each other in a communication session over the communication system.
A user device may have audio input means such as a microphone that can be used to receive audio signals such as speech from a user. The user may enter into a communication session with another user, such as a private call (with just two users in the call) or a conference call (with more than two users in the call). The user's speech is received at the microphone, processed and is then transmitted over a network to the other users in the call.
As well as the audio signals from the user, the microphone may also receive other audio signals, such as background noise, which are unwanted and which may disturb the audio signals received from the user.
The user device may also have audio output means such as speakers for outputting audio signals to near end user that are received over the network from a far end user during a call. Such speakers can also be used to output audio signals from other applications which are executed at the user device, and which can be picked up by the microphone as unwanted audio signals which would disturb the speech signals from the near end user.
In addition, there might be other sources of unwanted noise in a room, such as cooling fans, air conditioning systems, music playing in the background and keyboard taps. All such noises can contribute to disturbance to the audio signal received at the microphone from the near end user for transmission in the call to a far end user.
In order to improve the quality of the signal, such as for use in the call, it is desirable to suppress unwanted audio signals (the background noise and the unwanted audio signals output from the user device) that are received at the audio input means of the user device. Various noise reduction techniques are known for this purpose including, for example, spectral subtraction (for example, as described in the paper “Suppression of acoustic noise in speech using spectral subtraction” by S. F. Bool IEEE Trans. Acoustics, Speech, Signal Processing (1979), 27(2):, pages 113-120.
Another difficulty that can arise in an acoustic system is “howling”. Howling is an unwanted effect which arises from acoustic feedback in the system. It can be caused by a number of factors and arises when system gain is high.